100 REM SAVE"@0:RPI22",8 105 : 110 REM DISK P14A/P14B/BU11B 115 DIM P(100):REM DIMENSION ARRAY 120 : 125 POKE 53281,11:POKE53280,15:POKE646,15:REM SET SCREEN COLOURS 130 : 135 REM OPENING MENU 140 PRINT"[147]":PRINT" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201] 145 [153]" (null) ***** PRICE CALCULATOR ***** (null) 150 PRINT" [171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179] 155 [153]" (null) (C) COPYRIGHT IAN L DALZIEL 1989 (null) 160 PRINT" [221] [221] 165 [153]" (null) 7 WALKER AVENUE (null) 170 PRINT" [221] [221] 175 [153]" (null) TROON, AYRSHIRE, KA10 6SA (null) 180 PRINT" [221] [221] 185 [153]" -TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN< 190 PRINT" [221] [221] 195 [153]" (null) PRESS ILIST FOR INSTRUCTIONS (null) 200 PRINT" [221] [221] 205 [153]" (null) PRESS ULIST TO UPDATE THE INDEX (null) 210 PRINT" [221] [221] 215 [153]" (null) PRESS TLIST FOR TECHNICAL EXPLANTION (null) 220 PRINT" [221] [221] 225 [153]" (null) PRESS SPACELIST FOR THE PROGRAM (null) 230 PRINT" [221] [221] 235 [153]" MID$TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN(null) 240 : 245 REM BRANCHING ROUTINE 250 GET Z$:IF Z$=""THEN 250 255 IF Z$="I"THEN GOSUB 1010:GOTO140 260 IF Z$="U"THEN GOSUB 900:GOTO140 265 IF Z$="T"THEN GOSUB 715:GOTO140 270 IF Z$<>" "THEN 250 275 REM THE MAIN PROGRAM PROCEEDS WITH SPACE KEY 280 : 285 REM READS DATA TILL END OF FILE MARKER -1 IS READ 290 D=D+1:IF D<>1 THEN 325:REM ENSURES DATA IS LOADED ONLY ONCE 295 PRINT"[147]":PRINT" LOADING DATA PLEASE WAIT 5 SECONDS....":PRINT 300 X=0:REM RESET X 305 REM LOOP TO READ DATA AND GIVE CHANGING NUMBER ON SCREEN 310 READ P(X):PRINT X"[145]":IF P(X)=-1 THEN 330 315 X=X+1:GOTO 310 320 : 325 REM CALCULATION MENU 330 PRINT"[147]" 335 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174] 340 [153]" (null) ***** PRICE CALCULATOR ***** (null) 345 PRINT" [221] [221] 350 : 355 [143] X-1 IS THE LAST YEAR WHICH THE RPI INDEX IS AVAILABLE FROM DATA 360 [153]" (null) APPLICABLE TO THE PERIOD 1900";[171](1900[170]X[171]1)"(null)" 365 [153]" -TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN<" 370 [153]" (null) PRESS MLIST FOR MAIN MENU ELIST TO EXIT (null)" 375 [153]" MID$TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN(null) 380 PRINT:KC$="":INPUT" KNOWN COST OF ITEM IN \....";KC$ 385 IF KC$="M" THEN 140:REM EXITS TO MAIN MENU 390 IF KC$="E" THEN PRINT"[147]":END 395 : 400 REM REJECTS WRONG INPUT 405 KC=VAL(KC$):IF KC=0 THEN PRINT"[145]"TAB(30)" [145]":GOTO380: 410 : 415 PRINT:PRINT" YEAR OF KNOWN COST...........19??[157][157]"; 420 : 425 REM GETS FIRST DIGIT OF YEAR 430 GET K$:IFK$=""THEN 430 435 N=ASC(K$):IF N<48 OR N>57 THEN 430:REM ACCEPTS ONLY NUMBERS 440 N$=K$:PRINTK$;:REM FIRST DIGIT REPLACES ? ON SCREEN 445 REM GETS SEC0ND DIGIT OF YEAR 450 GET K$:IFK$=""THEN 450 455 : 460 M=ASC(K$):IF M<48 OR M>57 THEN 450:REM ACCEPTS ONLY NUMBERS 465 M$=K$:PRINTK$:REM SECOND DIGIT REPLACES ? ON SCREEN 470 : 475 YN=VAL(N$+M$):PRINT:REM CALCULATES THE YEAR OF KNOWN PRICE 480 REM REJECTS YEAR WHOSE RPI INDEX IS NOT KNOWN 485 IF P(YN)<=0 THEN PRINT" INDEX NOT UPDATED TO INCLUDE THIS YEAR[155]":GOTO415 490 : 495 REM TIME DELAY TO EMPTY BUFFER TO SEPARATE GET STATEMENTS 500 FOR I=1 TO 100:NEXT I 505 FOR I=1 TO 10:GET K$:NEXT I 510 : 515 PRINT" YEAR YOU WISH TO KNOW COST...19??[157][157]"; 520 : 525 REM GETS FIRST DIGIT OF YEAR 530 GET K$:IFK$=""THEN 530 535 F=ASC(K$):IF F<48 OR F>57 THEN 430:REM ACCEPTS ONLY NUMBERS 540 F$=K$:PRINTK$;:REM FIRST DIGIT REPLACES ? ON SCREEN 545 : 550 REM GETS SEC0ND DIGIT OF YEAR 555 GET K$:IFK$=""THEN 555 560 G=ASC(K$):IF G<48 OR G>57 THEN 450:REM ACCEPTS ONLY NUMBERS 565 G$=K$:PRINTK$:REM SECOND DIGIT REPLACES ? ON SCREEN 570 : 575 YU=VAL(F$+G$):PRINT:REM CACULATES YEAR YOU WANT TO KNOW COST 580 REM REJECTS YEAR WHOSE RPI INDEX IS NOT KNOWN 585 IF P(YU)<=0 THEN PRINT" INDEX NOT UPDATED TO INCLUDE THIS YEAR[155]":GOTO515 590 : 595 REM CALCULATES DESIRED PRICE AND ROUNDS TO 2 DECIMAL PLACES 600 Q=KC/P(YN)*P(YU):Q=INT(Q*100+0.5)/100: 605 IF Q>100 THEN Q=INT(Q+0.5):REM NO DECIMAL PLACES FOR PRICE OVER \100 610 PRINT:PRINT" COST OF ITEM IN"1900+YU"PRICES=\"Q: 615 PRINT" [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]":PRINT 620 REM TIME DELAY TO EMPTY BUFFER TO SEPARATE GET STATEMENTS 625 FOR I=1 TO 100:NEXT I 630 FOR I=1 TO 10:GET K$:NEXT I 635 : 640 REM EXIT MENU 645 PRINT" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201] 650 [153]" (null) --- PRESS SPACE FOR ANOTHER GO --- (null)" 655 [153]" (null) (null)" 660 [153]" (null) MLIST FOR MAIN MENU ELIST TO EXIT (null)" 665 [153]" MID$TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN(null) 670 GET K$:IFK$=""THEN670 675 IF K$="E" THEN END 680 IF K$="M" THEN 140 685 IF K$<>" " THEN 670 690 GOTO330:REM SPACE GIVES ANOTHER GO 695 : 700 REM DATA GIVING RPI INDEX FOR 5 YEARS STARTING AT YEAR OF LINE NUMBER 705 : 710 REM SUBROUTINE FOR TECHNICAL DATA INFO 715 PRINT"[147]":PRINT" HOW THE RPI INDEX WAS CALCULATED 720 [153]" -------------------------------- 725 PRINT" THE DATA STATEMENTS GIVE THE RETAIL 730 [153]" PRICE INDEX FOR JULY OF EACH YEAR 735 PRINT" FROM 1900 TO 1990 (BASED ON JAN 87=100)" 740 PRINT" EACH LINE OF DATA GIVES RPI FOR 5 YEARS 745 [153]"ON STARTING WITH THE YEAR OF LINE NUMBER":[153] 750 [153]" I HAVE ESTIMATED THE JULY 1990 INDEX 755 PRINT" AS +7% OF JULY 1989 INDEX 760 [153]:[153]:[153]:[153]:[153]:[153]:[153]:[153]:[153]:[153] 765 [153]" ------ SPACE FOR ONE MORE PAGE -------" 770 [161]K$:[139] K$[178]""[167] 770 775 : 780 [143] SECOND PAGE OF TECHNICAL INFO 785 [153]"LOAD":[153]" PRIOR TO 1987 THE INDEX WAS CALCULATED 790 PRINT" FROM THE INDEXES PUBLISHED AT THE TIME 795 [153]" AS FOLLOWS.......":[153] 800 [153]" FROM 1974-1986 THE INDEX PUBLISHED WAS 805 PRINT" JAN 74=100. THIS IS DIVIDED BY 3.945 810 [153]" (BECAUSE THE JAN 87 INDEX BASED ON 815 PRINT" JAN 74=100 WAS 394.5) 820 [153] 825 [153]" FROM 1962-1973 THE INDEX PUBLISHED WAS 830 PRINT" JAN 62=100. THIS IS DIVIDED BY 835 [153]" 3.945*1.918 (BECAUSE THE JAN74 INDEX 840 PRINT" BASED ON JAN 62=100 WAS 191.8)":PRINT 845 PRINT" FROM 1900-1961 I CALCULATED THE INDEX 850 [153]" FROM THE BOOK:-BRITAIN IN FIGURES 855 PRINT" BY ALAN SILLITOE (PELICAN 1973) P151":PRINT 860 PRINT" ANYONE IS WELCOME TO CHECK THE 865 [153]" CALCULATIONS AND LET ME KNOW IF YOU 870 PRINT" FIND ANY MAJOR ERRORS":PRINT 875 PRINT" --------- SPACE FOR THE MENU ---------" 880 GETK$:IF K$=""THEN 880 885 RETURN 890 : 895 REM SUBROUTINE ABOUT UPDATING THE INDEX CALLED FROM MAIN MENU 900 PRINT"[147]":PRINT" HOW THE UPDATE THE INDEX 905 [153]" -------------------------------- 910 PRINT" THE INDEX FOR JULY 1990 IS ONLY AN 915 [153]" ESTIMATE, SO IT SHOULD BE CORRECTED 920 PRINT" ONCE THE ACTUAL INDEX BECOMES KNOWN 925 [153]" IN AUGUST 1990. REPLACE THE FIRST 930 PRINT" PIECE OF DATA ON LINE 1990 (123.6)" 935 PRINT" WITH THE CORRECT INDEX":PRINT 940 PRINT" IN ORDER TO USE THE PROGRAM AFTER 1990 945 [153]" YOU WILL NEED TO ESTIMATE THE RPI FOR 950 PRINT" JULY OF THE YEAR IN QUESTION BY ADDING 955 [153]" THE ESTIMATED INFLATION RATE TO THE 960 PRINT" PREVIOUS YEAR'S INDEX AND REPLACE -1 965 [153]" IN THE DATA STATEMENT WITH THE INDEX":[153] 970 [153]" YOU MAY CONTINUE THE PROCESS EACH YEAR 975 PRINT" BY MAKING AN ESTMATE OF THE JULY INDEX 980 [153]" IN JANUARY AND CORRECTING IT IN AUGUST":[153]:[153] 985 [153]" --------- SPACE FOR THE MENU ---------" 990 [161]K$:[139] K$[178]""[167] 990 995 [142] 1000 : 1005 [143] SUBROUTINE WITH 4 PAGES OF WORKED EXAMPLES CALLED FROM MAIN MENU 1010 [153]"LOAD":[153]" HOW TO USE THE PROGRAM 1015 PRINT" -------------------------------- 1020 [153]" EXAMPLE 1......":[153] 1025 [153]" SAY YOU WANT TO KNOW HOW MUCH YOUR 1030 PRINT" POCKET MONEY IN 1960 OF 2/6P OLD MONEY 1035 [153]" (12.5P IN DECIMAL MONEY) WOULD BUY AT 1040 PRINT" TODAYS PRICES":PRINT 1045 PRINT" FOR KNOWN PRICE...ENTER 0.125":PRINT 1050 PRINT" FOR YEAR OF KNOWN PRICE...ENTER 60":PRINT 1055 PRINT" FOR YEAR YOU WISH TO KNOW THE PRICE... 1060 [153]" ENTER 89":[153] 1065 [153]" THE ANSWER IS \1.1":[153]:[153]:[153]:[153] 1070 [153]" ----- SPACE FOR 3 MORE EXAMPLES ----- 1075 GETK$:IF K$=""THEN 1075 1080 : 1085 PRINT"[147]":PRINT" EXAMPLE 2........":PRINT 1090 PRINT" SAY YOU ARE TREASURER OF A BRIDGE CLUB 1095 [153]" WHICH HAS BEEN CHARGING 40P A NIGHT 1100 PRINT" SINCE 1980. YOU ARE PROPOSING 1105 [153]" AN INCREASE TO 60P AND WANT TO SEE HOW 1110 PRINT" THAT COMPARES WITH THE ORIGINAL CHARGE 1115 [153]" AT TODAY'S PRICES..":[153] 1120 [153]" FOR KNOWN PRICE....ENTER 0.40":[153] 1125 [153]" FOR YEAR OF KNOWN PRICE....ENTER 80":[153] 1130 [153]" FOR YEAR YOU WISH TO KNOW THE PRICE.. 1135 PRINT" ENTER 89":PRINT 1140 PRINT" THE ANSWER IS 68P. SO YOUR PROPOSED 1145 [153]" INCREASE IS LESS THAN WOULD BE NEEDED 1150 PRINT" TO KEEP UP WITH INFLATION 1155 [153]:[153] 1160 [153]" ----- SPACE FOR 2 MORE EXAMPLES ------" 1165 [161]K$:[139] K$[178]""[167] 1165 1170 : 1175 [153]"LOAD":[153]" EXAMPLE 3........":[153] 1180 [153]" YOUR SON HAS JUST LEFT SCHOOL AND 1185 PRINT" STARTED WORK IN AN OFFICE AT A SALARY 1190 [153]" OF \7000 PER ANNUM. YOU WONDER HOW 1195 PRINT" THAT COMPARES WITH YOUR FIRST SALARY 1200 [153]" OF \350 PER ANNUM WHEN YOU STARTED 1205 PRINT" WORK IN 1965.":PRINT 1210 PRINT" FOR KNOWN PRICE...ENTER 7000":PRINT 1215 PRINT" FOR YEAR OF KNOWN PRICE...ENTER 89":PRINT 1220 PRINT" FOR YEAR YOU WISH TO KNOW THE PRICE... 1225 [153]" ENTER 65.":[153] 1230 [153]" THE ANSWER IS \899. SO YOU SON MAKES 1235 PRINT" TWO AND A HALF TIMES YOUR FIRST 1240 [153]" SALARY IN REAL TERMS!":[153]:[153] 1245 [153]" ------ SPACE FOR 1 MORE EXAMPLE ------" 1250 [161]K$:[139] K$[178]""[167] 1250 1255 [153]"LOAD":[153]" EXAMPLE 4........":[153] 1260 : 1265 [153]" YOU PAY YOUR GARDENER \2.30 PER HOUR 1270 PRINT" AND HAVE DONE SO SINCE 1985. YOU WANT 1275 [153]" TO KNOW HOW MUCH YOU SHOULD 1280 PRINT" INCREASE HIS SALARY TO KEEP ITS VALUE 1285 [153]" AT TODAY'S PRICES.":[153] 1290 [153]" FOR KNOWN PRICE...ENTER 2.30":[153] 1295 [153]" FOR YEAR OF KNOWN PRICE...ENTER 85":[153] 1300 [153]" FOR YEAR YOU WISH TO KNOW THE PRICE... 1305 PRINT" ENTER 89.":PRINT 1310 PRINT" THE ANSWER IS \2.79 SO YOU SHOULD 1315 [153]" INCREASE HIS WAGES TO AT LEAST THAT!":[153]:[153]:[153]:[153] 1320 [153]" ------------ SPACE FOR MENU ----------" 1325 [161]K$:[139] K$[178]""[167] 1325 1330 [142] 1335 : 1340 [143] DATA STATEMENTS HOLDING RPI INDEXES 1345 [143] EACH LINE GIVES RPI FOR 5 YEARS STARTING WITH YEAR OF LINE NUMBER 1900 [131] 2.564,2.583,2.601,2.620,2.638 1905 [131] 2.6569, 2.69212, 2.72734 ,2.76256 ,2.797786 1910 [131] 2.833, 2.9886 ,3.1442 ,3.2998, 3.4554 1915 [131] 3.611, 4.3538, 5.0966, 5.8394 ,6.5822 1920 [131] 7.325, 6.8959, 6.4668, 6.0377 ,5.6086 1925 [131] 5.1795, 5.0759, 4.9723 ,4.8687 ,4.7651 1930 [131] 4.6615 ,4.56982, 4.47814 ,4.38646 ,4.29478 1935 [131] 4.2031 ,4.51488, 4.82666, 5.13844, 5.45022 1940 [131] 5.7615 ,6.11736, 6.47322, 6.82908 ,7.18494 1945 [131] 7.5408 ,7.931802, 8.322804 ,8.713806 ,9.104808 1950 [131] 9.49581001, 9.927448 ,10.359086, 10.790724, 11.222362 1955 [131] 11.654 ,11.95282, 12.25164, 12.55046 ,12.84928 1960 [131]13.1481, 13.48418 ,13.82026 ,14.15634 ,14.49242 1965 [131] 14.8285,15.21180,15.62150,16.52010,17.4188 1970 [131] 18.6083,20.51140,21.7009,23.7494,27.8068 1975 [131] 35.1077,39.6198,46.59060,50.2155,58.0735 1980 [131] 67.9087,75.3105,81.8758,85.2978,89.1001 1985 [131] 95.2344,97.7946,101.8,106.7,115.5 1990 [131] 123.6,-1,-1,-1,-1,-1 1995 [131] -1,-1,-1,-1,-1 2000 [131] -1